1. Field of the Invention
The present invention relates to a control apparatus for an internal combustion engine, in particular, a control apparatus for an internal combustion engine, which performs knock control to prevent knock by retarding ignition timing in the detection of the knock occurring in the internal combustion engine.
2. Description of the Related Art
A method of detecting a knock phenomenon induced in an internal combustion engine (hereinafter, referred to simply as engine) with a vibration sensor is conventionally known. According to the method, it is known that a vibration in a specific frequency band is generated according to a vibration mode of the engine or knock when the knock occurs during the operation of the engine. A vibration intensity at the specific frequency is measured to detect the knock. Specifically, the following methods have been proposed. One method uses an analog band-pass filter circuit to extract the specific frequency and then measures the vibration intensity based on a peak-hold value passing through the band-pass filter, which is obtained by inputting an output from the analog band-pass filter circuit to a peak-hold circuit (for example, see Japanese Patent Application Laid-open No. 2002-357156; hereinafter, referred to as Patent Document 1). Another method performs digital signal processing (for example, Fast Fourier Transform (FFT)) using a digital signal processor (DSP) to measure a vibration intensity based on a spectrum value at the specific frequency (for example, see Japanese Patent Nos. 3093467 and 3098104; hereinafter, respectively referred to as Patent Documents 2 and 3).
When the analog band-pass filter circuit is configured as in Patent Document 1 described above, the degree of freedom in control is low for a large number of components. For example, when a plurality of frequency bands is desired to be simultaneously analyzed, the number of components is disadvantageously further increased. Moreover, when the DSP is used as in Patent Documents 2 and 3 described above, the DSP itself is expensive. Further, when the DSP is a specially designed one, the degree of freedom in control is disadvantageously limited.
With the enhanced functionality and the lowered cost of microcomputers in recent years, the problems described above are expected to be improved by using a microcomputer for vehicle engine control, which has processing capability at the level of executing digital signal processing by itself without using the DSP as described above. Specifically, it is believed that the frequency analysis with the digital signal processing using the microcomputer greatly reduces the size of an I/F circuit as compared with the conventional methods using the analog circuit and greatly improves the degree of freedom in control as compared with the conventional methods with the digital processing using the dedicated DSP.
On the other hand, the digital signal processing using the microcomputer has a specific problem. Specifically, since the microcomputer performs all the processing for vehicle engine control, it is necessary to ensure temporal and frequency resolutions, which are required for the frequency analysis of knock, although the amount of processing and the amount of memory which can be used for the frequency analysis of the knock are limited. For example, when the methods described in Patent Documents 2 and 3 are applied to the digital signal processing using the microcomputer, there arise the following problems because the methods use the FFT.
Specifically:    A large amount of computation and a large amount of required memory for analyzing all the frequency bands;    A small number of choices for the frequency to be analyzed because the number of samples contained in an observation interval is limited to a power of two; and    A variation is generated in temporal resolution with respect to a frequency resolution because the number of samples in the observation interval is fixed (the vibration intensity changes more rapidly as the frequency becomes higher; in an analysis interval which is set longer to capture a slow change at a low frequency, however, a rapid change at the high frequency cannot be captured in some cases although the slow change can be captured).